/******************************************************************************
 * Copyright (C) ShenZhen Powerdata Information Technology Co.,Ltd
 * All Rights Reserved.
 * 本软件为深圳市博安达信息技术股份有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、
 * 复制、修改或发布本软件.
 *****************************************************************************/

package com.szboanda.business.relevance.config.service;

import com.github.pagehelper.PageInfo;
import com.szboanda.business.relevance.config.exception.RelevanceConfigException;

import java.util.List;
import java.util.Map;

/**
 * @title:      关联引擎业务配置_业务接口类
 * @fileName:   RelevanceConfigService.java
 * @description:
 * @copyright:  PowerData Software Co.,Ltd. Rights Reserved.
 * @company:    深圳市博安达信息技术股份有限公司
 * @author:     原晋川
 * @date:       2019-09-20 14:51
 * @version:    V1.0
 */
public interface IRelevanceConfigService {

    /**
     * 查询【关联引擎业务配置】 业务信息
     *
     * @param   modelInfo  业务Map集合
     * @return  返回业务集合
     * @throws  RelevanceConfigException
     */
     List<Map<String, Object>> queryRelevanceConfigs(Map<String, Object> modelInfo) throws RelevanceConfigException;

    /**
     * 查询【关联引擎业务配置】 业务信息
     *
     * @param   xh 主键
     * @return  返回业务集合
     * @throws  RelevanceConfigException
     */
     Map<String,Object> queryRelevanceConfigByXh(String xh) throws RelevanceConfigException;

    /**
     * 查询【关联引擎业务配置】业务信息
     *
     * @param   pageNum 分页数
     * @param   pageSize 分页长度
     * @param   modelInfo  业务Map集合
     * @return  返回业务集合
     * @throws  RelevanceConfigException
     */
    PageInfo<Map<String, Object>> queryRelevanceConfigsInPage(int pageNum, int pageSize, Map<String, Object> modelInfo) throws RelevanceConfigException;

    /**
     * 保存【关联引擎业务配置】业务信息
     *
     * @param  model  业务Map集合
     * @return 返回业务集合
     * @throws RelevanceConfigException
     */
    Map<String,Object> saveRelevanceConfig(Map<String, Object> model) throws RelevanceConfigException;

    /**
     * 删除【关联引擎业务配置】业务信息
     *
     * @param   infos 业务Map集合
     * @return  返回操作标识符
     * @throws  RelevanceConfigException
     */
    Map<String,Object> deleteRelevanceConfig(Map<String, Object> infos) throws RelevanceConfigException;

    /**
     * 按住键删除【关联引擎业务配置】业务信息
     *
     * @param   xh 主键
     * @return  返回操作标识符
     * @throws  RelevanceConfigException
     */
    Map<String,Object> deleteRelevanceConfigByXh(String xh) throws RelevanceConfigException;

}